package com.hxd.otc.module.order.bean;

import java.util.List;

/**
 * 包  名 :  com.hxd.otc.module.order.bean
 * 类  名 :  OrderDetailBean
 * 作  者 :  zjl
 * 时  间 :  2018/6/12 15:50
 * 描  述 :  ${TODO}
 */
public class OrderDetailBean {

    public AdvertOfOrderPoData advertOfOrderPo;//广告商信息 ,
    public OrderVoData orderVo;//订单信息 ,
    public PayInfoVoData payInfoVo;//支付信息 ,
    public String whoPay;//付款者姓名 ,

    /**
     * 广告商信息
     */
    public static class AdvertOfOrderPoData {
        public String appealOrder;//申诉中的数量 ,
        public String appealSuccessOrder;//申诉成功的数量 , ,
        public String avatar;//头像 ,
        public String completedOrder;//近30天完成的订单 ,
        public String id;
        public String level;// 等级 , ,
        public String nickName;// 昵称
        public String phone;// 手机号
        public String name;// 姓名

        @Override
        public String toString() {
            return "AdvertOfOrderPoData{" +
                    "appealOrder='" + appealOrder + '\'' +
                    ", appealSuccessOrder='" + appealSuccessOrder + '\'' +
                    ", avatar='" + avatar + '\'' +
                    ", completedOrder='" + completedOrder + '\'' +
                    ", id='" + id + '\'' +
                    ", level='" + level + '\'' +
                    ", nickName='" + nickName + '\'' +
                    '}';
        }
    }

    /**
     * 订单信息
     */
    public static class OrderVoData {
        /**
         * 订单是否发起申诉：0.未发起，1.申诉中(对应申诉状态)，2.申诉成功（对应 已完成状态），
         * 3.申诉失败(返回申诉上一个状态) :4 申诉撤回(返回申诉上一个状态)
         * <p>
         * 用户点击申诉，后台返回申诉中，订单变为申诉中状态。 然后后台判定 是申诉成功，还是申诉失败。
         * 如果申诉成功，订单变为已完成状态，如果申诉失败，订单变为 申诉前状态
         */
        public int appealStatus;
        public int cancelStatus;//订单是否取消 0.未发起取消，1.发起取消，2.同意，3.拒绝 ,
        public String createTime;//创建时间 ,
        public String currentTime;//系统时间，订单详情有效 ,
        public String id;//订单id ,
        public int isLook;// 订单是否查看，0未查看，1已查看，获取订单列表有效 ,
        public String legalCurrency;// 单使用那种法币付款,CNY,USD,EUR,HKD ,
        public double money;// 金额 ,
        public String orderNo;//订单号 ,
        public int status;//0.未支付，1，已付款，2.申诉中，3.已取消，4.完成 ,
        public String transactionPair;//交易对 ,
        public int type;//0.卖出,1.买入
        public double unitPrice;//单价(订单详情有效) ,
        public double quantity;//数量(订单详情有效) ,
        public double fee;//数量(订单详情有效) ,
        public int whoAppeal;//默认0，1.自己申诉，2.对方发起申诉,申诉订单有效
        public long buyNoPayTimeOut   ;//广告商买币未付款倒计时 ,
        public long sellNoPayTimeOut    ;// 广告商卖币未付款倒计时 ,
        @Override
        public String toString() {
            return "OrderVoData{" +
                    "appealStatus=" + appealStatus +
                    ", cancelStatus=" + cancelStatus +
                    ", createTime='" + createTime + '\'' +
                    ", currentTime='" + currentTime + '\'' +
                    ", id='" + id + '\'' +
                    ", isLook=" + isLook +
                    ", legalCurrency='" + legalCurrency + '\'' +
                    ", money='" + money + '\'' +
                    ", orderNo='" + orderNo + '\'' +
                    ", status=" + status +
                    ", transactionPair='" + transactionPair + '\'' +
                    ", type=" + type +
                    '}';
        }
    }

    /**
     * 支付信息
     */
    public static class PayInfoVoData {

        public List<AlipayInfoPoData> alipayInfoPos;//支付宝信息 ,
        public List<BankInfoPoData> bankInfoPos;//卡支付信息

        @Override
        public String toString() {
            return "PayInfoVoData{" +
                    "alipayInfoPos=" + alipayInfoPos +
                    ", bankInfoPos=" + bankInfoPos +
                    '}';
        }
    }

    public static class AlipayInfoPoData {

        public String alipayAddress;//支付宝二维码 ,
        public String alipayName;//支付宝姓名
        public String remark;// 备注
        public String no;// 备注

        @Override
        public String toString() {
            return "AlipayInfoPoData{" +
                    "alipayAddress='" + alipayAddress + '\'' +
                    ", alipayName='" + alipayName + '\'' +
                    '}';
        }
    }

    public static class BankInfoPoData {
        public String bankName;// 开户银行 ,
        public String bankNo;//银行账户 ,
        public String name;//开户人姓名 ,
        public int type;//0.银行卡,1.PayPal,2. 西联汇款,3. SWIFT国际汇款 ,
        public String remark;// 备注

        @Override
        public String toString() {
            return "BankInfoPoData{" +
                    "bankName='" + bankName + '\'' +
                    ", bankNo='" + bankNo + '\'' +
                    ", name='" + name + '\'' +
                    ", type=" + type +
                    '}';
        }
    }

    @Override
    public String toString() {
        return "OrderDetailBean{" +
                "advertOfOrderPo=" + advertOfOrderPo +
                ", orderVo=" + orderVo +
                ", payInfoVo=" + payInfoVo +
                '}';
    }
}
